新闻中心-凯发娱乐

数据完整性校验简述

2018-09-19 10:00:08

在通信过程中,不论系统设计的多么完美,数据在传输的过程中,都可能会遇到各种干扰问题,使传输的数据出现误码错误的情况。为了保证数据传输的完整性,一定会采取某些方式来判定数据是否正确,主要的方式就是数据校验。数据校验的定义如下:数据校验是为保证数据的完整性进行的一种验证操作。通常用一种指定的算法对原始数据计算出的一个校验值,接收方用同样的算法计算一次校验值,如果两次计算得到的检验值相同,则说明数据是完整的。


以下为几种简单常用的校验方法:


1 、奇偶校验


奇偶校验根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。


应用例子:一般在串口通信中,硬件会带有的奇偶校验功能。


2、总和校验


总和校验是将传输数据,依次累加,求出一个总和作为校验值。若总和值过大溢出,则取有效部分作为校验值。例如,传输1,2,3 三个数据,则将1 2 3=66作为校验值一起传输,对端接到1,2,3,6 会验证前三位总和是否与最后的校验值相等,相等则正确,否则错误。


应用例子:通信过程中,一般数据量小,干扰低的情况下,会使用这种校验。


3、 crc循环冗余校验


循环冗余校验是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。


应用例子:主要应用在数据存储,通信过程当中。


4、md5校验


md5 校验通过对接收的传输数据执行散列运算来检查数据的正确性。md5密码散列函数的名称,可以产生出一个128位的散列值,用于确保信息传输完整一致。


应用例子:登陆认证,文件加解密等。

  

原创作者:孙建强  本文编辑:张林林 封面源自网络  转载请附原文链接,谢谢!

二维码.jpg





网站地图